home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1997 September / Macworld (1997-09).dmg / Serious Software / Cherwell Scientific Demos / pro Fit / pro Fit 5.0 demo (fpu).sea / pro Fit 5.0 demo (fpu) / Functions & Programs / •Gadgets / Parameters <-> Data Window (2) < prev    next >
Text File  |  1996-06-01  |  2KB  |  87 lines

  1. {
  2.     The two programs defined here can be used to transfer parameters from
  3.     the Parameter window to a data window and from a data window to the
  4.     Parameter window.
  5.     
  6.     The program ParamWindowToDataWindow takes the numbers in the parameter
  7.     window and copies them to the current data window, filling the top-left
  8.     corner of the data window with the parameters, arranged in the same
  9.     fashion as in the parameter window: in rows with four parameters each.
  10.     
  11.     The program DataWindowToParamWindow expects the data in the current
  12.     data window to be arranged in the above way and copies it to the
  13.     parameter window.
  14.     
  15.     To use this program, choose "Add To Menu" from the Misc menu
  16.  (or click the Add button).
  17.  Then choose the program's name from the Misc menu.
  18.  
  19.     NOTE:
  20.     This program does some work to keep the arrangement of the parameter
  21.     values in the data window the same as the arrangement in the parameter
  22.     window. If you want to store all params in one column instead,
  23.     you can simply write, as the body of ParamWindowToDataWindow:
  24.  
  25.  for i:=1 to  getNumFunctionParams('') do
  26.          data[i,myCol]:= getFunctionParam('', i);
  27.          
  28.     where myCol is the index of the column where you want to store the data.
  29.     ParamWindowToDataWidnow, must be modified in the same way, by replacing
  30.     (v+1,u) with (i,myCol).
  31. }
  32.  
  33.  
  34.  
  35. {*****************************************************************}
  36. program Param_ToDataWindow2;
  37.  
  38. var i,u,v:integer;
  39.  
  40. procedure GetModAndDiv(i,j:integer);
  41. var k:integer;
  42. begin
  43.     k:=j;v:=0;
  44.     while i>j do 
  45.     begin
  46.             j:=j+k;
  47.             v:=v+1;
  48.     end;
  49.     u:=i-v*k;
  50. end;
  51.  
  52. begin
  53.  for i:=1 to  getNumFunctionParams('') do
  54.  begin
  55.          GetModAndDiv(i,4);
  56.          data[v+1,u]:= getFunctionParam('', i)
  57.     end;
  58. end;
  59.  
  60.  
  61.  
  62. {*****************************************************************}
  63. program DataWindow_ToParam2;
  64.  
  65. var i,u,v:integer;
  66.  
  67. procedure GetModAndDiv(m,n:integer);
  68. var k:integer;
  69. begin
  70.     k:=n;v:=0;
  71.     while m>n do 
  72.     begin
  73.             n:=n+k;
  74.             v:=v+1;
  75.     end;
  76.     u:=m-v*k;
  77. end;
  78.  
  79.  
  80. begin
  81.  for i:=1 to  getNumFunctionParams('') do
  82.  begin
  83.           GetModAndDiv(i,4);
  84.           if Dataok(v+1,u) then
  85.               setFunctionParam('', i, data[v+1,u]);
  86.  end;
  87. end;